Data compression is an important computer operation used in many computing applications, including both server and client applications. For example, data compression may be used to reduce network bandwidth requirements and/or storage requirements for cloud computing applications.
Many common lossless compression formats are based on the LZ77 compression algorithm Data compressed using LZ77-based algorithms typically include a stream of symbols (or “tokens”). Each symbol may include literal data that is to be copied to the output or a reference to repeat data that has already been decompressed. The DEFLATE algorithm uses LZ77 compression in combination with Huffman encoding to generate compressed output. Typical compression algorithms such as DEFLATE may support higher compression ratios (e.g., Level 9 or L9 ratios) by performing additional computations.